package cn.iocoder.yudao.module.system.controller.admin.portal.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 门户网站用户新增/修改 Request VO")
@Data
public class PortalUserSaveReqVO {

    @Schema(description = "用户ID，自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "651")
    private Long id;

    @Schema(description = "用户名（登录账号）", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    private String name;

    @Schema(description = "用户昵称", example = "赵六")
    private String nickName;

    @Schema(description = "手机号码（可用于登录/找回密码）")
    private String telePhone;

    @Schema(description = "微信号")
    private String wechat;

    @Schema(description = "电子邮箱（可用于登录/找回密码）")
    private String email;

    @Schema(description = "密码（加密存储，建议使用BCrypt/SHA256等算法）", requiredMode = Schema.RequiredMode.REQUIRED)
    private String password;

    @Schema(description = "用户类型：1-同步用户，2-自增用户", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    private String userType;

    @Schema(description = "删除标志：0-未删，1-已删", requiredMode = Schema.RequiredMode.REQUIRED)
    private String delFlag;

    @Schema(description = "修改时间")
    private LocalDateTime modifyTime;

    @Schema(description = "创建人ID", example = "22819")
    private String creatorId;

    @Schema(description = "所属机构编码")
    private String orgCode;

}